package com.xgluo.lazyMode;

/**
 * @author xgluo
 * @program SingleTon
 * @name LazyLoaderDoubleCheck
 * @description 懒汉模式：双重检查
 * @date 2025年03月17日
 */
public class LazyLoaderDoubleCheck{
    // 指向自己实例的私有静态引用，主动创建
    private static LazyLoaderDoubleCheck lazyLoaderDoubleCheck;

    // 私有的构造方法
    private LazyLoaderDoubleCheck(){}

    // 以自己实例为返回值的静态的公有方法，静态工厂方法
    public static LazyLoaderDoubleCheck getSingleton1(){

        if(lazyLoaderDoubleCheck == null){
            synchronized(LazyLoaderSync.class){
                if(lazyLoaderDoubleCheck == null){
                    lazyLoaderDoubleCheck = new LazyLoaderDoubleCheck();
                }
            }
        }
        return lazyLoaderDoubleCheck;
    }

}
